/*
 * @Author: your name
 * @Date: 2021-12-30 13:36:53
 * @LastEditTime: 2023-05-25 16:56:36
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \AROperationManager_web\src\main.js
 */
import Vue from 'vue'
import Axios from 'axios' 

import 'normalize.css/normalize.css' // A modern alternative to CSS resets
const http = Axios.create()
http.defaults.timeout = 20000
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import Users from './components/userLogin.vue'
import locale from 'element-ui/lib/locale/lang/en' // lang i18n
import '@/icon/iconfont.css'
import '@/styles/index.scss' // global css
import Cookies from 'js-cookie'
import VueWorker from 'vue-worker';
import 'element-ui/lib/theme-chalk/index.css'; 
import App from './App'
import store from './store'
import router from './router'
import '@/icons' // icon
import '@/css/reset.css'
import '@/css/mycon.css'
// import Vconsole from 'vconsole';
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css';
// 过滤器--空值
import {
	filEmpty
} from './filters/filters.js';
Vue.filter('filEmpty', filEmpty);
const EventBus = new Vue();
Vue.prototype.$bus = EventBus
Vue.use(Viewer, {
	defaultOptions: {
		zIndex: 9999,
		inline: false, // 是否启用inline模式
		button: true, // 是否显示右上角关闭按钮
		navbar: true, // 是否显示缩略图底部导航栏
		title: true, // 是否显示当前图片标题，默认显示alt属性内容和尺寸
		toolbar: true, // 是否显示工具栏
		tooltip: true, // 放大或缩小图片时，是否显示缩放百分比，默认true
		fullscreen: true, // 播放时是否全屏，默认true
		loading: true, // 加载图片时是否显示loading图标，默认true
		loop: true, // 是否可以循环查看图片，默认true
		movable: false, // 是否可以拖得图片，默认true
		zoomable: true, // 是否可以缩放图片，默认true
		rotatable: true, // 是否可以旋转图片，默认true
		scalable: true, // 是否可以翻转图片，默认true
		toggleOnDblclick: true, // 放大或缩小图片时，是否可以双击还原，默认true
		transition: true, // 使用 CSS3 过度，默认true
		keyboard: true, // 是否支持键盘，默认true
		zoomRatio: 0.1, // 鼠标滚动时的缩放比例，默认0.1
		minZoomRatio: 0.01, // 最小缩放比例，默认0.01
		maxZoomRatio: 100, // 最大缩放比例，默认100
		url(image) {
			//修改图片放大时的图片路径
			return image.src;
		},
	}
})

// 右键菜单
import Contextmenu from "vue-contextmenujs"
Vue.use(Contextmenu);
// let vConsole = new Vconsole();
// 空值过滤器
import * as filters from './filters/filters.js' // global filters

// register global utility filters.
Object.keys(filters).forEach(key => {
	Vue.filter(key, filters[key])
})
// export default vConsole //移动端log日志
import '@/permission' // permission control 
if (process.env.NODE_ENV === 'production') {
	const {
		mockXHR
	} = require('../mock')
	mockXHR()
}

// 如果想要中文版 element-ui，按如下方式声明
//监听路由下所有页面
ElementUI.Dialog.props.lockScroll.default = false;
// ElementUI.confirm.props.lockScroll.default = false;
Vue.use(ElementUI)
Vue.use(VueWorker)

Vue.config.productionTip = false
Vue.component('Users', Users)
import vueDirectiveImagePreviewer from 'vue-directive-image-previewer'
import 'vue-directive-image-previewer/dist/assets/style.css'

Vue.use(vueDirectiveImagePreviewer)
// 全局定义表格高度
Vue.prototype.tableHeight = 'calc(100% - 140px)',
	// 定义全局提示信息
	Vue.prototype.$messageText = (types, text) => {
		ElementUI.Message({
			type: types,
			message: text
		})
	}
router.beforeEach((to, from, next) => {
	console.log(to.path,'跳转路由')
	if (to.path === '/login') {
		next()
	} else {
		const token = sessionStorage.getItem('manageToken')
		if (token) {

			next()
		} else {
			next({
				path: '/login',
				query: {
					redirect: to.fullPath
				} // 将要跳转的页面路径作为参数传递
			})
		}
	}
})

new Vue({
	el: '#app',
	router,
	store,
	Users,
	render: h => h(App)
})